package role;

public class Role {
    /*
    * 在一个游戏中，有盗贼 Thieves，猎人 Hunter，医生 Doctor，农民 Farmer，士兵 Soldier 5 类角色 Role，
    这些角色都有名称 name 、等级 level ，体力 hp，攻击力 atk ，防御力 def，金币 gold，
    还可以自己介绍自己 introduce，都可以攻击 attack，防御 defense；
    属性计算方式：
    体力 = 等级 * 角色加权（盗贼10，猎人12，医生8，农民8，士兵15）；
    攻击力 = 等级 * 角色加权（盗贼3，猎人2，医生1，农民1，士兵2）；
    防御力 = 等级 * 角色加权（盗贼1，猎人2，医生2，农民1，士兵3）；
    另外：
      •  盗贼可以偷盗 steal，一次偷盗可以得到12金，消耗体力9。
      ◦  猎人可以打猎 goHunting，一次打猎可以得到10金，消耗体力8。
      ◦  农民可以采矿 mining，一次采矿可以得到5金，消耗体力3。
      ◦  医生可以治疗 cure（可以治疗自己或士兵，治疗后恢复的体力是医生等级的2倍）。 治疗自己不需要花金币， 治疗对方要对方扣除恢复体力点数同样的金（如果没有，则不能治疗）， 治疗后体力最多恢复到体力上限。
      •  士兵可以狂暴（狂暴以后体力减少1半，攻击*2，防御* 2）
    * */

    public String name;  // 名称 name
    public int level;  // 等级 level
    public int hp;  // 体力 hp
    public int atk;  // 攻击力 atk
    public int def;  // 防御力 def
    public int gold;  // 金币 gold

    // 无参构造
    public Role() {
    }

    public Role(String name, int level, int gold) {
        this.name = name;
        this.level = level;
        this.gold = gold;
    }

    // 介绍自己 introduce
    public void introduce() {
        System.out.println(this.name + ",等级：" + this.level + ",血量：" + this.hp + ",攻击力：" + this.atk + ",防御：" + this.def + ",金币：" + this.gold);
    }

    // 攻击 attack
    public void attack() {

    }

    // 防御 defense
    public void defense() {

    }


}
